gtkmain: Disable implicit grab active state on CROSSING_GRAB leave events
authorCarlos Garnacho <carlosg@gnome.org>
Tue, 16 Nov 2021 09:52:35 +0000 (10:52 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Tue, 16 Nov 2021 09:58:03 +0000 (10:58 +0100)
commitf84bcfbb971b973465a7e50a95057a10f8c5f265
tree20be036416d14e260372c92d5946ad94e3b5e65a
parentfd69b4174867a772984eb515099160de729a1005
gtkmain: Disable implicit grab active state on CROSSING_GRAB leave events

This grab-induced crossing event may come from outer means while there are
buttons pressed (e.g. WM window drags/resizes in X11), the implicit active
state should be undone in that situation.

Also, separate the handling of GDK_LEAVE_NOTIFY, as it's fundamentally
different from GDK_TOUCH_END/CANCEL handling.

Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4416
gtk/gtkmain.c